package com.group4.datafactorybackend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.group4.datafactorybackend.common.R;
import com.group4.datafactorybackend.entity.DO.DataAssertDO;
import com.group4.datafactorybackend.entity.DTO.BatchReleaseOrOutageDTO;
import com.group4.datafactorybackend.entity.DTO.CreateOrUpdateDataAssertDTO;
import com.group4.datafactorybackend.entity.DTO.DataAssertParameterDTO;
import org.springframework.stereotype.Service;

/**
 * @author aKUN
 * @date 2022/7/29
 * @description 数据资产业务逻辑接口层
 */
@Service
public interface DataAssertService extends IService<DataAssertDO> {

    /**
     * @author 章珑赢
     * @param dataAssertParameterDTO 查询数据资产表条件实体类
     * @return R
     * @description 根据条件查询数据资产表
     **/
    R<?> selectDataAssertBy(DataAssertParameterDTO dataAssertParameterDTO);



    /**
     * @author 邹代鑫
     * @param createOrUpdateDataAssertDTO 新增、修改数据资产表接收参数实体类
     * @return R
     * @description 新增数据资产
     **/
    R<?> createOrUpdateDataAssert(CreateOrUpdateDataAssertDTO createOrUpdateDataAssertDTO);

    /**
     * @author 卑微小峰
     * @param daCode 数据资产编号
     * @return R
     * @description
     */
    R<?> deleteDataAssert(String daCode);

    /**
     * @author 卑微小峰
     * @param batchReleaseOrOutageDTO （批量）发布/停用接收参数实体类
     * @return R
     * @description （批量）发布/停用数据资产表
     */
    R<?> releaseOrOutage(BatchReleaseOrOutageDTO batchReleaseOrOutageDTO);
    /**
     * @author 李泓静
     * @param daCode 数据资产编号
     * @return List
     * @description 根据编号查询数据资产表详情
     */
    R<?> getDataAssertField(String daCode);
}
